// #include "Thread.hpp"
// #include "ThreadPool.hpp"
// #include <unistd.h>

// void* run(void* args)
// {
//     std::string msg = static_cast<const char*>(args);
//     while(true)
//     {
//         std::cout << msg << std::endl;
//         sleep(1);
//     }
// }

// int main()
// {
//     Thread* mythread1 = new Thread(run, (void*)"thread_1");
//     Thread* mythread2 = new Thread(run, (void*)"thread_2");

//     mythread1->join();
//     mythread2->join();

//     return 0;
// }

#include "ThreadPool.hpp"

int main()
{
    ThreadPool<Task>* tp = new ThreadPool<Task>();
    tp->run();

    tp->join();

    return 0;
}